Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add read only ingester support to lifecycler and ring #553

Merged
merged 2 commits into from
Aug 5, 2024

Conversation

jhalterman
Copy link
Member

@jhalterman jhalterman commented Aug 2, 2024

What this PR does:

This PR is 1 of 2 that will add read-only ingester support to the ring and lifecycler. It's based on proposal 1 in this design doc. This PR:

  • Updates ring.proto to support two new fields in InstanceDesc:
    • read_only
    • read_only_updated_timestamp
  • Updates the lifecycler to support reading/writing the new fields
  • Updates ring_http to expose the new fields

To keep the scope of this PR reasonable, a followup PR will add support for read only ingesters when computing shuffle shards.

Which issue(s) this PR fixes:

Fixes #

Checklist

  • Tests updated
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

@jhalterman jhalterman changed the title Add read only support to lifecycler and ring Add read only ingester support to lifecycler and ring Aug 2, 2024
@jhalterman jhalterman force-pushed the read-only-lifecycler branch 2 times, most recently from ec8c1c3 to fa98476 Compare August 2, 2024 00:52
@jhalterman jhalterman marked this pull request as ready for review August 2, 2024 00:52
- Updates the ring.proto to support two new fields to support read only ingesters:
  - read_only
  - read_only_updated_timestamp
- Updates the lifecycler to support reading/writing the new fields
- Updates the ring_http support

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>
@jhalterman jhalterman force-pushed the read-only-lifecycler branch from fa98476 to 7e7e510 Compare August 2, 2024 01:06
@jhalterman jhalterman added enhancement New feature or request component/ring labels Aug 2, 2024
@pracucci pracucci self-requested a review August 5, 2024 07:04
Copy link
Contributor

@pracucci pracucci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, LGTM! I left few minor comments I would be glad if you could take a look before merging.

ring/ring_http.go Outdated Show resolved Hide resolved
ring/ring.proto Show resolved Hide resolved
test/poll.go Outdated Show resolved Hide resolved
ring/model.go Outdated Show resolved Hide resolved
ring/model.go Outdated Show resolved Hide resolved
ring/model.go Outdated Show resolved Hide resolved
ring/basic_lifecycler.go Outdated Show resolved Hide resolved
ring/lifecycler.go Outdated Show resolved Hide resolved
ring/model.go Outdated Show resolved Hide resolved
ring/basic_lifecycler_test.go Outdated Show resolved Hide resolved
@jhalterman jhalterman force-pushed the read-only-lifecycler branch 5 times, most recently from a383036 to 1b579bb Compare August 5, 2024 16:59
@jhalterman jhalterman force-pushed the read-only-lifecycler branch from 1b579bb to 88b2ed7 Compare August 5, 2024 17:14
@jhalterman jhalterman merged commit dfa83b4 into grafana:main Aug 5, 2024
5 checks passed
@jhalterman jhalterman deleted the read-only-lifecycler branch August 5, 2024 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/ring enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants